#ifndef _asce_inc_galaxy
#define _asce_inc_galaxy

#include <vector>
#include <string>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#include "solar_system.h"

#define	GALAXY_MAX_SIZE		100
#define	GALAXY_MIN_SIZE		2

#define	GALAXY_CUBE_SIZE	200

class		Galaxy
{
 public:
  
  Galaxy();
  ~Galaxy();

  void		generate();
  void		generate(int galaxySize);
  int		createLinks(int nbLinks);
  
  int		getGalaxySize();
  SolarSystem	*getSolarSystem(int solarSysId);

 private:

  std::vector<SolarSystem*> solarSysList;

  void		genRandCoor(SolarSystem *newSys);

};

#endif
